Skip to content

Conversation

@aaron-congo
Copy link
Contributor

Description

Implements the following refactoring improvements:

  1. StorageService - a centralized, easy to access class that stores various types of information that our driver uses, eg custom endpoint info and topology info.
  2. MonitorService - a centralized, easy to access class that standardizes the submission and lifetime of the various monitors that our driver creates, eg custom endpoint monitors and topology monitors. Submitted monitors are stored under this service.
  3. ConnectionService - replaces the forceConnect functionality, providing the ability to create auxiliary ConnectionWrapper objects that no longer share a PluginService with the connection that is requesting the auxiliary connection.
  4. EventPublisher/EventSubscriber - a publish-subscribe pattern that allows the communication of generic events between interested driver components.

So far, the custom endpoint and topology caches and monitors have been adapted to use the StorageService and MonitorService. In the future, more caches and monitors will be adapted as well.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@aaron-congo aaron-congo merged commit 8880b0b into main Jul 15, 2025
6 checks passed
@aaron-congo aaron-congo deleted the storage-service branch July 15, 2025 23:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants